#pragma once

#include "sys/IInterface.h"
#include "ServiceID.h"
#include "graph/Attribute.h"

interface IConnection;	enum documentCategory; enum pageTypesetCategory; enum pageBindingCategory;
enum regionCategory;		enum regionCategory;

interface IBuildService : public IInterface
{
	DEFINE_IID(IID_BuildService)

	virtual IObject* BuildDocument(IConnection* conn,const String& path) = 0;

	virtual IObject* BuildDocument(IConnection* conn,
															documentCategory category,
															pageTypesetCategory pageTypeset,
															pageBindingCategory pageBinding,
															uint32 pageCount,
															real pageHeight,
															real pageWidth,
															real pageLeftMargin,
															real pageTopMargin,
															real pageRightMargin,
															real pageBottonMargin) = 0;

	virtual IObject* BuildRegion(IObject* regionContainer,
												  regionCategory category,
												  vclsid clsidRegion,
												  const Points& pts) = 0;
};

